///******************** NG.Respate(C)  **********************************
//* 产品名称: Respate 科技
//* 文件名称: signal.c
//* 程序作者: 雷帕特公司(南宫子萍)
//* 程序版本: V1.1														   
//* 编制日期: 2019/1/29
//* 功能描述: 系统日志
//* QQ:	2085827949
//**********************************************************************/

#include "lap_lib.h"
#include "lapSever.h"
#include "cs.h"

char SEVER_RX_BUFF[2048]={0};
int SEVER_RX_LEN = -1;
// 服务器回调函数
void* SeverHandler(void *fd) 
{
	// int fd_act  = (int)fd;
	char temp;
	lap_syslog("lap_SeverHandle 处理客户端业务ing...");
	// 读取数据
	SEVER_RX_LEN = read((int)fd,SEVER_RX_BUFF,sizeof(SEVER_RX_BUFF));
	
	//while (read((int)fd,&temp,1)>=0);	// 吸收剩余字符
	//SEVER_RX_LEN = read((int)fd,SEVER_RX_BUFF,sizeof(SEVER_RX_BUFF));
	close ((int)fd);	// 关闭文件描述符
}

//获取字符串
int Lap_readNetInput(char* buff,int len)
{
	int length = SEVER_RX_LEN;
	SEVER_RX_LEN = -1;				//重置长度

	if(length < 0) return -1;		// 还未接收到字符串

	memcpy(buff,SEVER_RX_BUFF,len);	// 拷贝字符串
	if (length<=len) return length;	// 返回实际长度
	return len;
}

//通过线程创建服务器
void* creatSever(void* nu)
{
	LapServerInit severInit = {
		.port = SERVER_PORT,		// 服务器端口
		.ip = SERVER_IP,			// 服务器IP地址
		.workDir = WORK_ROOT_DIR,	// 服务器工作路径
		.Handler = SeverHandler		// 服务器回调函数
	};

	//创建服务器
	lap_TcpSever(&severInit);
}

//初始化服务器
int SeverInit(void)
{
	pthread_t id = -1;
	pthread_create(&id, NULL,creatSever,NULL);
	pthread_detach(id);	//分离线程
	 return id;
}




																						 
